package com.sg.dto.biz.app.req;

import com.sg.dto.biz.app.common.BusAppDocRelaDto;
import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * @desc AddDocAndDocRelaComReqDto
 * @使用场景
 */
@Data
public class AddDocAndDocRelaComReqDto extends BaseDto implements Serializable {

    /**
     * 归属内容实例ID
     */
    @NotNull(message = "归属内容实例ID不能为空")
    @ApiModelProperty("归属内容实例ID")
    private String entityId;

    /**
     * 业务应用文档归属类型编码 EVA_TEMP:评价模板 TARGET:目标 TARGET_CATEGORY:目标分类 OBJECTIVE:指标 NOTICE:通知公告 TASK:任务 ACHIEVEMENT:成果 TARGET_CYCLE_STAGE_DATA:目标周期阶段资料 PLANNING:规划资料
     */
    @NotNull(message = "业务应用文档归属类型编码不能为空")
    @ApiModelProperty("业务应用文档归属类型编码")
    private String bizAppFileTypeCode;

    /**
     * 文档内容关系类型编码 DIRECT_RELATION:直接关系 INDIRECT_RELATIONSHIP:间接关系
     */
    @NotNull(message = "文档内容关系类型编码不能为空")
    @ApiModelProperty("文档内容关系类型编码")
    private String baseFileRelationshipType;

    /**
     * 一级属性ID
     */
    @ApiModelProperty("一级属性ID")
    private String oneStageId;

    /**
     * 二级属性ID
     */
    @ApiModelProperty("二级属性ID")
    private String twoStageId;

    /**
     * 末级属性ID
     */
    @ApiModelProperty("末级属性ID")
    private String lastStageId;

    /**
     * 主题内容ID
     */
    @NotNull(message = "主题内容ID不能为空")
    @ApiModelProperty("主题内容ID")
    private String themeContentId;

    @ApiModelProperty("业务应用文档关系列表")
    private List<BusAppDocRelaDto> busAppDocRelaList = new ArrayList<>();


}
   